home *** CD-ROM | disk | FTP | other *** search
- /*
- ** mod_std.h - Definition of the standard Lite / W3-mSQL library
- **
- **
- ** Copyright (c) 1995-96 Hughes Technologies Pty Ltd
- **
- ** Permission to use, copy, and distribute for non-commercial purposes,
- ** is hereby granted without fee, providing that the above copyright
- ** notice appear in all copies and that both the copyright notice and this
- ** permission notice appear in supporting documentation.
- **
- ** The software may be modified for your own purposes, but modified versions
- ** may not be distributed.
- **
- ** This software is provided "as is" without any expressed or implied warranty.
- **
- */
-
-
-
-
- /*
- ** Standard external function prototypes
- */
-
- void doSplit();
- void doMerge();
- void doTokSplit();
- void doStrSeg();
- void doChop();
- void doTr();
- void doSub();
- void doTest();
- void doSubStr();
-
- void doPrintf();
- void doFprintf();
- void doEcho();
- void doFatal();
-
- void doOpen();
- void doClose();
- void doRead();
- void doReadLn();
- void doReadTok();
- void doIncludeFile();
-
- void doExit();
- void doUnlink();
- void doUmask();
- void doChmod();
- void doSleep();
- void doSystem();
- void doGetpid();
- void doGetppid();
- void doChdir();
- void doMkdir();
- void doRmdir();
- void doRename();
- void doTruncate();
- void doLink();
- void doSymlink();
-
- void doStat();
- void doKill();
-
- void doTime();
- void doCTime();
- void doGetTzOffset();
-
- void doGetHostByName();
- void doGetHostByAddr();
-
- void doUrlEncode();
- void doSetContentType();
- void doIncludeFile();
- void doHttpAuth();
- void doForceHttpAuth();
-
- void doTime2UnixTime();
- void doUnixTime2Year();
- void doUnixTime2Month();
- void doUnixTime2Day();
- void doUnixTime2Hour();
- void doUnixTime2Min();
- void doUnixTime2Sec();
- void doStrftime();
-
- void doGetUid();
- void doGetEuid();
- void doGetGid();
-
- void doCrypt();
-
- void doGetPwNam();
- void doGetPwUid();
-
- void doSrandom();
- void doRandom();
-
- void doTypeOf();
-
- void initModStd();
-
-
- /*
- ** Note : Because this is a static linked module (rather than a dynamic
- ** loaded module) we don't need to include the CFuntName field in the
- ** function table)
- */
-
-
- /*
- ** Standard external function definitions
- **
- ** This table maps from internal function names to the C code.
- ** The format is :-
- **
- ** {LiteName, CFunctPtr, CFunctName, NumArgs, { Arg1Type, Arg2Type..., 0}}
- **
- ** Setting NumArgs to -1 indicates varargs
- */
-
-
- efunct_t std_efuncts[] = {
- { "printf", doPrintf, NULL, -1, { P_TEXT, 0} },
- { "fprintf", doFprintf, NULL, -1, { P_INT, P_TEXT, 0} },
- { "echo", doEcho, NULL, 1, { P_TEXT, 0} },
- { "fatal", doFatal, NULL, 1, { P_TEXT, 0} },
- { "open", doOpen, NULL, 2, {P_TEXT, P_TEXT, 0} },
- { "close", doClose, NULL, 1, {P_INT, 0} },
- { "read", doRead, NULL, 2, {P_INT, P_INT, 0} },
- { "readln", doReadLn, NULL, 1, {P_INT, 0} },
- { "readtok", doReadTok, NULL, 2, {P_INT, P_TEXT, 0} },
-
- { "exit", doExit, NULL, 1, {P_INT, 0} },
- { "split", doSplit, NULL, 2, {P_TEXT, P_TEXT, 0}},
- { "merge", doMerge, NULL, 2, {P_ARRAY, P_TEXT, 0}},
- { "toksplit", doTokSplit, NULL, 2, {P_TEXT, P_TEXT, 0}},
- { "strseg", doStrSeg, NULL, 3, {P_TEXT, P_INT, P_INT, 0}},
- { "chop", doChop, NULL, 1, {P_TEXT, 0}},
- { "tr", doTr, NULL, 3, {P_TEXT, P_TEXT, P_TEXT,0}},
- { "sub", doSub, NULL, 3, {P_TEXT, P_TEXT, P_TEXT,0}},
- { "test", doTest, NULL, 2, {P_TEXT, P_TEXT, 0}},
- { "substr", doSubStr, NULL, 3, {P_TEXT,P_TEXT,P_TEXT,0}},
-
- { "unlink", doUnlink, NULL, 1, {P_TEXT,0} },
- { "umask", doUmask, NULL, 1, {P_INT, 0}},
- { "chmod", doChmod, NULL, 2, {P_TEXT,P_INT,0}},
- { "mkdir", doMkdir, NULL, 1, {P_TEXT,0} },
- { "chdir", doChdir, NULL, 1, {P_TEXT,0} },
- { "rmdir", doRmdir, NULL, 1, {P_TEXT,0} },
- { "rename", doRename, NULL, 2, {P_TEXT, P_TEXT} },
- { "truncate", doTruncate, NULL, 2, {P_TEXT, P_INT} },
- { "link", doLink, NULL, 2, {P_TEXT, P_TEXT} },
- { "symlink", doSymlink, NULL, 2, {P_TEXT, P_TEXT} },
- { "sleep", doSleep, NULL, 1, {P_INT, 0}},
- { "system", doSystem, NULL, 1, {P_TEXT,0}},
- { "getpid", doGetpid, NULL, 0, {0}},
- { "getppid", doGetppid, NULL, 0, {0}},
- { "stat", doStat, NULL, 1, {P_TEXT,0}},
- { "kill", doKill, NULL, 2, {P_INT, P_INT,0}},
-
- { "getuid", doGetUid, NULL, 0, {0}},
- { "geteuid", doGetEuid, NULL, 0, {0}},
- { "getgid", doGetGid, NULL, 0, {0}},
-
- { "time", doTime, NULL, 0, {0}},
- { "ctime", doCTime, NULL, 1, {P_INT,0}},
- { "getTzOffset", doGetTzOffset, NULL, 0, {0}},
-
- { "gethostbyname", doGetHostByName, NULL, 1, {P_TEXT,0}},
- { "gethostbyaddr", doGetHostByAddr, NULL, 1, {P_TEXT,0}},
-
- { "urlEncode", doUrlEncode, NULL, 1, {P_TEXT,0}},
- { "setContentType", doSetContentType, NULL, 1, {P_TEXT,0}},
- { "includeFile", doIncludeFile, NULL, 1, {P_TEXT,0}},
- { "httpAuth", doHttpAuth, NULL, 2, {P_TEXT, P_TEXT, 0}},
- { "forceHttpAuth", doForceHttpAuth, NULL, 2, {P_TEXT, P_TEXT, 0}},
-
- { "time2unixtime", doTime2UnixTime, NULL, 6, {P_INT, P_INT, P_INT,
- P_INT, P_INT, P_INT, 0}},
- { "unixtime2year", doUnixTime2Year, NULL, 1, {P_INT, 0}},
- { "unixtime2month", doUnixTime2Month, NULL, 1, {P_INT, 0}},
- { "unixtime2day", doUnixTime2Day, NULL, 1, {P_INT, 0}},
- { "unixtime2hour", doUnixTime2Hour, NULL, 1, {P_INT, 0}},
- { "unixtime2min", doUnixTime2Min, NULL, 1, {P_INT, 0}},
- { "unixtime2sec", doUnixTime2Sec, NULL, 1, {P_INT, 0}},
- { "strftime", doStrftime, NULL, 2, {P_TEXT, P_INT, 0}},
-
- { "crypt", doCrypt, NULL, 2, {P_TEXT, P_TEXT, 0}},
-
- { "getpwnam", doGetPwNam, NULL, 1, {P_TEXT, 0}},
- { "getpwuid", doGetPwUid, NULL, 1, {P_INT, 0}},
-
- { "srandom", doSrandom, NULL, 1, {P_INT, 0}},
- { "random", doRandom, NULL, 0, {0}},
-
- { "typeof", doTypeOf, NULL, -1, {0}},
-
- { NULL, 0 }
- };
-